package com.boilerCloud.dao.sys;

import java.util.List;

import com.boilerCloud.dto.sys.Role;

/**
 * @类功能说明：角色数据库操作类
 * @类修改者：
 * @修改日期：
 * @修改说明：
 * @公司名称：杭州龙骞科技有限公司
 * @作者：qianfuqiang
 * @创建时间：2013-6-27 下午10:34:23
 * @版本：V1.0
 */
public interface IHzlqswRoleDao {

	/**
	 * @函数功能说明:添加用户角色表
	 * @创建者：qianfuqiang 2013-8-9
	 * @修改者：
	 * @修改内容：
	 * @参数： @param uID
	 * @参数： @param roleID
	 * @参数： @throws Exception
	 * @返回： void
	 * @抛出异常：
	 */
	public void addUserRole(long l, int roleID) throws Exception;

	/**
	 * @函数功能说明:编辑用户角色表
	 * @创建者：miaochao 2013-10-16
	 * @修改者：
	 * @修改内容：
	 * @参数： @param uID
	 * @参数： @param roleID
	 * @参数： @throws Exception
	 * @返回： void
	 * @抛出异常：
	 */
	public void editUserRole(long l, int roleID) throws Exception;

	/**
	 * @函数功能说明:查询角色列表信息
	 * @创建者：qianfuqiang 2013-7-1
	 * @修改者：
	 * @修改内容：
	 * @参数： @param offset 分页起始数
	 * @参数： @param length 每页数量
	 * @参数： @param role 角色
	 * @参数： @return
	 * @参数： @throws Exception
	 * @返回： List<Role>
	 * @抛出异常：
	 */
	public List<Role> qryRoleList(int offset, int length, Role role) throws Exception;

	/**
	 * @函数功能说明：获取角色列表数量
	 * @创建者：qianfuqiang 2013-7-1
	 * @修改者：
	 * @修改内容：
	 * @参数： @param role
	 * @参数： @return
	 * @参数： @throws Exception
	 * @返回： int
	 * @抛出异常：
	 */
	public int qryRoleListSize(Role role) throws Exception;

	/**
	 * @函数功能说明:添加角色
	 * @创建者：qianfuqiang 2013-8-13
	 * @修改者：
	 * @修改内容：
	 * @参数： @param role
	 * @参数： @throws Exception
	 * @返回： int 角色编号
	 * @抛出异常：
	 */
	public int addRole(Role role) throws Exception;

	/**
	 * @函数功能说明:添加角色菜单表
	 * @创建者：qianfuqiang 2013-8-13
	 * @修改者：
	 * @修改内容：
	 * @参数： @param roleID
	 * @参数： @param menuIDs
	 * @参数： @throws Exception
	 * @返回： void
	 * @抛出异常：
	 */
	public void addRoleMenu(int roleID, String[] menuIDs) throws Exception;

	/**
	 * @函数功能说明:添加角色菜单表-单条
	 * @创建者：qianfuqiang 2013-8-14
	 * @修改者：
	 * @修改内容：
	 * @参数： @param roleID
	 * @参数： @param menuID
	 * @参数： @throws Exception
	 * @返回： void
	 * @抛出异常：
	 */
	public void addRoleMen(int roleID, int menuID) throws Exception;

	/**
	 * @函数功能说明:删除角色
	 * @创建者：qianfuqiang 2013-8-13
	 * @修改者：
	 * @修改内容：
	 * @参数： @param roleID
	 * @参数： @throws Exception
	 * @返回： void
	 * @抛出异常：
	 */
	public void delRole(int roleID) throws Exception;

	/**
	 * @函数功能说明:删除角色菜单表---删除角色时用
	 * @创建者：qianfuqiang 2013-8-13
	 * @修改者：
	 * @修改内容：
	 * @参数： @param roleID
	 * @参数： @throws Exception
	 * @返回： void
	 * @抛出异常：
	 */
	public void delRoleMenu(int roleID) throws Exception;

	/**
	 * 删除角色菜单表-根据菜单编号删除
	 * 
	 * @函数功能说明:
	 * @创建者：qianfuqiang 2013-8-14
	 * @修改者：
	 * @修改内容：
	 * @参数： @param menuID
	 * @参数： @throws Exception
	 * @返回： void
	 * @抛出异常：
	 */
	public void delRoleMenuByMenuID(int menuID) throws Exception;

	/**
	 * @函数功能说明:根据角色编号查找用户能用的菜单ID
	 * @创建者：qianfuqiang 2013-8-14
	 * @修改者：
	 * @修改内容：
	 * @参数： @param roleID
	 * @参数： @return
	 * @参数： @throws Exception
	 * @返回： String[]
	 * @抛出异常：
	 */
	public String[] getMenuIDByRole(int roleID) throws Exception;

	/**
	 * @函数功能说明:删除角色菜单表---修改角色时用
	 * @创建者：qianfuqiang 2013-8-14
	 * @修改者：
	 * @修改内容：
	 * @参数： @param roleID
	 * @参数： @throws Exception
	 * @返回： void
	 * @抛出异常：
	 */
	public void delRoleMenu(int roleID, String viewmenuid) throws Exception;

	/**
	 * @函数功能说明:更新角色表
	 * @创建者：qianfuqiang 2013-8-14
	 * @修改者：
	 * @修改内容：
	 * @参数： @param role
	 * @参数： @throws Exception
	 * @返回： void
	 * @抛出异常：
	 */
	public void updateRole(Role role) throws Exception;

	/**
	 * 查询角色列表
	 * @param or_id 
	 * 
	 * @return
	 * @throws Exception
	 */
	public List<Role> qryRoles(int or_id) throws Exception;

	/**
	 * 删除用户角色数据
	 * 
	 * @param U_ID
	 * @throws Exception
	 */
	public void delUserRole(int U_ID) throws Exception;
	
	
	/**
	 * 查询鄞州旅游下的角色列表
	 * 
	 * @return
	 * @throws Exception
	 */
	public List<Role> qryRolesOfInZhou() throws Exception;
	

}
